package com.woniuxy.stage3demo.mapper.mapperhpd;

import com.woniuxy.stage3demo.bean.hpd.ProductBean;
import com.woniuxy.stage3demo.pageHelper.PageRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface ProductMapper {
    /**
     * 增加产品
     * @param productBean
     * @return
     */
    int addProduct(@Param("p") ProductBean productBean);

    /**
     * 修改产品
     * @param productBean
     * @return
     */
    int updateProduct(@Param("p") ProductBean productBean);

    /**
     * 删除产品
     * @param id
     * @return
     */
    @Update("update product set del_flag=1 where id = #{id}")
    int deleteProduct(Long id);

    /**
     * 批量上架/下架
     * @param opt 0:下架 1:上架
     * @param id
     * @return
     */
    int batchOpt(@Param("opt") int opt,@Param("id") Long id);

    /**
     * 根据参数进行分页查询
     * @param productBean
     * @return
     */
    List<ProductBean> findAllByParams(@Param("pr") PageRequest request, @Param("p") ProductBean productBean);

    /**
     * 根据id查找产品
     * @param id
     * @return
     */
    ProductBean findOneById(Long id);

    /**
     * 修改产品状态 0:下架 1:上架
     * @param productBean
     * @return
     */
    int updateStatus(@Param("p") ProductBean productBean);
}
